/* 角色列表管理 */
import {loadRoles,loadOrgsRoles,findSysRoles,addSysRole,updSysRole,delSysRole,enableSysRoles,disableSysRoles,
        loadSysRoleResources,saveOrUpdRoleResources,findRoleUsers,addRoleUsers,delRoleUsers} from 'api/sysRoleApi';

const sysRole = {
    state: {
      sysRoleDTOs:[],
      page: {
        currentPage: 1,
        pageSize: 5,
        total: 0
      },
      queryPara:{
        searchKey: '',
        orgId: ''
      }
    },
    mutations: {
      loadRolesMut(state, obj){
        if (obj.rows !== '') {
          state.sysRoleDTOs = obj.rows;
          state.page.currentPage = obj.currentPage;
          state.page.pageSize = obj.pageSize;
          state.page.total = obj.total;
        }
      },
      setRoleQueryPrams(state, obj){
        state.queryPara = obj;
      }

    },
    actions: {
      /*获取角色列表*/
      loadRolesAct (context, para) {
        return loadRoles().then(response => {
          return response.data;
        });
      },

      /*获取组织机构下的角色列表*/
      loadOrgsRolesAct (context, para) {
        return loadOrgsRoles(para).then(response => {
          return response.data;
        });
      },

      /** 加載系統角色列表 **/
      getSysRolesAct(context,param){
        return findSysRoles(param).then(res=>{
          context.commit("loadRolesMut",res.data);
        });
      },
      /** 新增系統角色 **/
      addSysRoleAct(context,param){
        return addSysRole(param).then(res=>{
          return res.data;
        });
      },
      /** 更新系統角色 **/
      updSysRoleAct(context,param){
        return updSysRole(param).then(res=>{
          return res.data;
        });
      },
      /** 刪除系統角色 **/
      batchDelSysRolesAct(context,param){
        return delSysRole(param).then(res=>{
          return res.data;
        });
      },
      /** 启用系統角色 **/
      enableSysRoleAct(context,param){
        return enableSysRoles(param).then(res=>{
          return res.data;
        });
      },
      /** 禁用系統角色 **/
      disableSysRoleAct(context,param){
        return disableSysRoles(param).then(res=>{
          return res.data;
        });
      },
      /** 加载系統角色资源 **/
      loadSysRoleResAct(context,param){
        return loadSysRoleResources(param).then(res=>{
          return res.data;
        });
      },
      /** 重置系统角色资源 **/
      saveOrUpdRoleResourcesAct(context,param){
        return saveOrUpdRoleResources(param).then(res=>{
          return res.data;
        });
      },
      /** 查询角色用户信息 **/
      findRoleUsersAct(context,param){
        return findRoleUsers(param).then(res=>{
          return res.data;
        });
      },
      /** 新增角色用户 **/
      addRoleUserAct(context,param){
        return addRoleUsers(param).then(res=>{
          return res.data;
        });
      },
      /** 删除角色用户 **/
      delRoleUserAct(context,param){
        return delRoleUsers(param).then(res=>{
          return res.data;
        });
      },
    }
};

export default sysRole;
